In recent years, an increasing number of users have access to vast selections of videos through the Internet, given the ever growing number of individuals who have high-speed access at home. With the wide range of compression techniques available, high-resolution video clips can be transferred within a reasonable time over the Internet. Furthermore, with the vast array of video editing tools available, many people can readily edit existing video and incorporate special effects to customize videos and to produce stylish graphics. These videos may later be published for friends and family to view.
Currently, however, video editing is typically performed locally on individual workstations (e.g., personal computers) and is generally limited to a single user for each copy of a video file. Multiple users generally cannot take part in the editing process of a particular video without first downloading and storing a separate copy of the video. Depending on the size of the video (e.g., 4.7 GB for 2 hours of video stored in MPEG-2 format), the downloading process can be extremely slow and time-consuming, even with a high-speed connection. Consider the following scenario. Suppose an individual wanted to incorporate some special effects into a video that a friend has published on a web site. That individual would have to first download a copy of the video and store the video locally on his hard drive before incorporating any changes. Furthermore, in order to allow others to view the video on the network, the individual would have to then upload the completed work. This results in utilization of valuable bandwidth on the network. Suppose now that the individual wanted to make additional edits later on to create a 2nd revision, 3rd revision and so on. If the individual did not save a backup copy locally, the target video (i.e., the video to be edited) would have to be once again downloaded, edited, and finally uploaded back up to the server. Furthermore, with each successive edit, the quality of the video is inherently degraded every time it is decompressed, edited and then recompressed. Finally, each successive edit is permanent. That is, the user cannot revert back to a previous edit unless another copy was saved before the current edits were made. A separate copy of the target video would have to be saved for each revision. This approach, however, would require a tremendous amount of storage space in order to accommodate different copies reflecting different revisions of the video.
Therefore, there exists a need, among others, for providing multiple users with the ability to remotely edit video stored at a centralized location without the need to first download the entire video file in order to provide collaborative video editing among different users. Furthermore, there exists a need, among others, for providing users with the ability to make multiple edits without the need to download and upload multiple copies and to be able to access previous revisions of the video.